﻿//
// Copyright (c) 2024 BPer
//
#ifndef INCLUDE_BPERPUSH_BPERPUSHHANDLE_H_
#define INCLUDE_BPERPUSH_BPERPUSHHANDLE_H_
#include <bperutil/buffer/BPerVideoBuffer.h>
#include <bperutil/BPerAvInfoType.h>
#include <bperutil/sys/BPerSysMessageI.h>
#include <bperpush/BPerPushCommon.h>
#include <bperpush/BPerSendVideoI.h>
#include <string>
class BPerPushHandle {
public:
    BPerPushHandle();
    virtual ~BPerPushHandle();
    virtual int publish(char* url,BPerBool isWhip)=0;
    virtual void disconnect()=0;

    virtual void init()=0;
    virtual void changeSrc(int videoSrcType,bool pisinit)=0;
    virtual BPerVideoBuffer* getPreVideoBuffer()=0;

    virtual BPerSendVideoI* getSendVideo()=0;

};



#endif /* INCLUDE_BPERPUSH_BPERPUSHHANDLE_H_ */
